package com.example.jTextComponent;

import javax.swing.*;
import javax.swing.text.JTextComponent;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @Author 郅占伟
 * @ClassName MyJTextComponent
 * @Description TODO
 * @Date 2024年05月18日
 * @Version: 1.0
 */
public class MyJTextComponent extends JFrame {
    public MyJTextComponent() {
        JButton sendButton;
        JTextField inputField;
        JTextArea chatContent;

        this.setLayout(new BorderLayout());
        chatContent = new JTextArea(12,34); // 创建一个文本区域
        JScrollPane showPanel = new JScrollPane(chatContent); // 创建一个滚动面板,将文本区域添加到滚动面板中
        chatContent.setEditable(false); // 设置文本区域不可编辑

        JPanel inputPanel = new JPanel();
        inputField = new JTextField(20); // 创建一个输入框

        sendButton = new JButton("发送"); // 创建一个发送按钮

        // 为按钮添加时间
        sendButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = inputField.getText(); // 获取输入框中的内容
                System.out.println(input);
                if (!"".equals(input) && input!= null && !"".equals(input.trim())){
                    // 判断输入框是否为空,并且去除前后空格后是否为空
                    chatContent.append(input + "\n"); // 将内容添加到文本区域中
                } else {
                    // 如果输入框为空,将输入的文本追加到聊天窗口
                    chatContent.append("不能发送空消息！\n");
                }
                inputField.setText(""); // 清空输入框内容
            }
        });

        Label label = new Label("短信编辑");
        inputPanel.add(label); // 将标签添加到输入面板中
        inputPanel.add(inputField); // 将输入框添加到输入面板中
        inputPanel.add(sendButton); // 将发送按钮添加到输入面板中

        // 将滚动面板和JPanel添加到JFrame中
        this.add(showPanel, BorderLayout.CENTER);
        this.add(inputPanel, BorderLayout.SOUTH);
        this.setTitle("短信编辑器");
        this.setSize(1500, 1000);
        this.setVisible(true);
        this.setLocation(300, 200);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
